OBJECT Report 69901 Header Line Template { OBJECT-PROPERTIES { Date=06/21/17; Time=[ 1:52:42 PM]; Modified=Yes; Version List=FORNAV2.0.0.1245/1245; } PROPERTIES { OnInitReport=BEGIN ;ReportForNav:= ReportForNav.Report(CurrReport.OBJECTID,CurrReport.LANGUAGE,SERIALNUMBER,USERID,COMPANYNAME);ReportForNav.Init; END; OnPreReport=BEGIN ;ReportForNav.OpenDesigner:=ReportForNavOpenDesigner;IF NOT ReportForNav.Pre THEN CurrReport.QUIT; END; OnPostReport=BEGIN ;ReportForNav.Post; END; } DATASET { { 2 ; ;DataItem;Header ; DataItemTable=Table112 } { 3 ;1 ;DataItem;Line ; DataItemTable=Table113; DataItemTableView=SORTING(Document No.,Line No.); DataItemLinkReference=Header; DataItemLink=Document No.=FIELD(No.) } } REQUESTPAGE { PROPERTIES { } CONTROLS { { 1900000001;0;Container; ContainerType=ContentArea } { 1900000002;1;Group ; CaptionML=[CSY=Mo§nosti; DAN=Indstillinger; DEU=Optionen; ENU=Options; FIN=Vaihtoehdot; ISL=Valkostir; NLD=Opties; NOR=Alternativer; SVE=Alternativ; ITS=Opzioni; NLB=Opties] } { 5000;2 ;Field ; Name=ForNavOpenDesigner; CaptionML=ENU=Open Designer; SourceExpr=ReportForNavOpenDesigner; Visible=ReportForNavAllowDesign } } } LABELS { } CODE { VAR ReportForNav@5000 : DotNet "'ForNav.Reports.2.0.0.1245, Version=2.0.0.1245, Culture=neutral, PublicKeyToken=5284c1af2984feb0'.ForNav.Report" WITHEVENTS; ReportForNavClient@5003 : DotNet "'ForNav.Reports.2.0.0.1245, Version=2.0.0.1245, Culture=neutral, PublicKeyToken=5284c1af2984feb0'.ForNav.Report" RUNONCLIENT; ReportForNavDialog@5001 : Dialog; ReportForNavOpenDesigner@5002 : Boolean; ReportForNavAllowDesign@5004 : Boolean INDATASET; EVENT ReportForNav@5000::OnInit@5002(); VAR ReportLayoutSelection@1000 : Record 9651; CustomReportLayout@1001 : Record 9650; CustomLayoutID@1002 : Variant; InStream@1004 : InStream; EmptyLayout@1003 : Text; BEGIN EmptyLayout := FORMAT(ReportLayoutSelection."Custom Report Layout Code"); CustomLayoutID := ReportLayoutSelection."Custom Report Layout Code"; ReportForNav.OData := GETURL(CLIENTTYPE::OData, COMPANYNAME, OBJECTTYPE::Page, 7702); IF FORMAT(ReportLayoutSelection.GetTempLayoutSelected) <> EmptyLayout THEN CustomLayoutID := ReportLayoutSelection.GetTempLayoutSelected ELSE IF ReportLayoutSelection.HasCustomLayout(ReportForNav.ReportID) = 1 THEN CustomLayoutID := ReportLayoutSelection."Custom Report Layout Code"; IF (FORMAT(CustomLayoutID) <> EmptyLayout) AND CustomReportLayout.GET(CustomLayoutID) THEN BEGIN CustomReportLayout.TESTFIELD(Type,CustomReportLayout.Type::RDLC); CustomReportLayout.CALCFIELDS(Layout); CustomReportLayout.Layout.CREATEINSTREAM(InStream,TEXTENCODING::UTF8); ReportForNav.IsCustomLayout := TRUE; END ELSE REPORT.RDLCLAYOUT(ReportForNav.ReportID,InStream); ReportForNav.LoadRdlc(InStream); IF COPYSTR(LOWERCASE(GETURL(CLIENTTYPE::Current, COMPANYNAME, OBJECTTYPE::Codeunit, 1)), 1, 14) = 'dynamicsnav://' THEN BEGIN ReportForNav.CheckClientAddIn(); ReportForNavClient := ReportForNavClient.Report(ReportForNav.Definition); ReportForNavAllowDesign := ReportForNavClient.HasDesigner AND NOT ReportForNav.ParameterMode; END; END; EVENT ReportForNav@5000::OnSave@5010(Base64Layout@1000 : Text); VAR CustomReportLayout@1002 : Record 9650; ReportLayoutSelection@1003 : Record 9651; LayoutId@1004 : Variant; TempBlob@1007 : Record 99008535; OutStream@1006 : OutStream; Bstr@1005 : BigText; EmptyLayout@1001 : Text; BEGIN EmptyLayout := FORMAT(ReportLayoutSelection."Custom Report Layout Code"); LayoutId := ReportLayoutSelection."Custom Report Layout Code"; IF ReportLayoutSelection.HasCustomLayout(ReportForNav.ReportID) = 1 THEN BEGIN IF FORMAT(ReportLayoutSelection.GetTempLayoutSelected) <> EmptyLayout THEN BEGIN LayoutId := ReportLayoutSelection.GetTempLayoutSelected; END ELSE BEGIN IF ReportLayoutSelection.GET(ReportForNav.ReportID, COMPANYNAME) THEN BEGIN LayoutId := ReportLayoutSelection."Custom Report Layout Code"; END; END; END ELSE BEGIN IF CONFIRM('Default custom layout not found. Create one?') THEN; END; IF FORMAT(LayoutId) <> EmptyLayout THEN BEGIN TempBlob.Blob.CREATEOUTSTREAM(OutStream); Bstr.ADDTEXT(Base64Layout); Bstr.WRITE(OutStream); CustomReportLayout.GET(LayoutId); CustomReportLayout.ImportLayoutBlob(TempBlob, 'RDL'); END; END; EVENT ReportForNav@5000::OnParameters@5008(Parameters@1000 : Text); BEGIN ReportForNav.Parameters := REPORT.RUNREQUESTPAGE(ReportForNav.ReportID, Parameters); END; EVENT ReportForNav@5000::OnPreview@5009(Parameters@1000 : Text;FileName@1005 : Text); VAR PdfFile@1002 : File; InStream@1003 : InStream; OutStream@1004 : OutStream; BEGIN COMMIT; PdfFile.CREATETEMPFILE; PdfFile.CREATEOUTSTREAM(OutStream); REPORT.SAVEAS(ReportForNav.ReportID, Parameters, REPORTFORMAT::Pdf, OutStream); PdfFile.CREATEINSTREAM(InStream); ReportForNavClient.ShowDesigner; IF ReportForNav.IsValidPdf(PdfFile.NAME) THEN DOWNLOADFROMSTREAM(InStream, '', '', '', FileName); PdfFile.CLOSE; END; EVENT ReportForNav@5000::OnPreSection@5012(DataItemId@1000 : Text;SectionId@1001 : Text); BEGIN END; EVENT ReportForNav@5000::OnPostSection@50013(DataItemId@1000 : Text;SectionId@1001 : Text); BEGIN END; EVENT ReportForNav@5000::OnClientOperation@5008(Args@1000 : DotNet "'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Array"); VAR op@1001 : Text; FileMgmt@1002 : Codeunit 419; Process@1006 : DotNet "'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Diagnostics.Process" RUNONCLIENT; PathObj@1005 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.IO.Path" RUNONCLIENT; FileVersionInfo@1003 : DotNet "'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Diagnostics.FileVersionInfo" RUNONCLIENT; DirectoryHelper@1004 : DotNet "'mscorlib'.System.IO.Directory" RUNONCLIENT; BEGIN op := Args.GetValue(0); CASE op OF 'TempPath': ReportForNav.Result := PathObj.GetTempPath(); 'FileExists': ReportForNav.Result := FileMgmt.ClientFileExists(Args.GetValue(1)); 'DirectoryExists': ReportForNav.Result := FileMgmt.ClientDirectoryExists(Args.GetValue(1)); 'ProcessLocation': ReportForNav.Result := Process.GetCurrentProcess().MainModule.FileName; 'FileVersion': ReportForNav.Result := FileVersionInfo.GetVersionInfo(Args.GetValue(1)).FileVersion; 'DeleteFile': FileMgmt.DeleteClientFile(Args.GetValue(1)); 'DeleteDirectory': IF STRLEN(Args.GetValue(1)) > 20 THEN IF FileMgmt.ClientDirectoryExists(Args.GetValue(1)) THEN DirectoryHelper.Delete(FORMAT(Args.GetValue(1)), TRUE); END; END; EVENT ReportForNav@5000::OnCheckForNavClientVersion@5007(); BEGIN ReportForNavClient := ReportForNavClient.Report(); IF ReportForNav.MyFileVersion <> ReportForNavClient.MyFileVersion THEN ERROR('You have version %1 of the Reports ForNAV assembly here:\\%2\\Please close your NAV client and update it to version %3.', ReportForNavClient.MyFileVersion, ReportForNavClient.MyFileName, ReportForNav.MyFileVersion); END; EVENT ReportForNav@5000::OnSelectPrinter@5006(); BEGIN ReportForNav.PrinterSettings.PageSettings := ReportForNavClient.SelectPrinter(ReportForNav.PrinterSettings.PrinterName,ReportForNav.PrinterSettings.ShowPrinterDialog,ReportForNav.PrinterSettings.PageSettings); END; EVENT ReportForNav@5000::OnPrint@5005(InStream@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.IO.Stream"); VAR ClientFileName@1001 : Text[255]; BEGIN DOWNLOADFROMSTREAM(InStream, '', '', '', ClientFileName); ReportForNavClient.Print(ClientFileName); END; EVENT ReportForNav@5000::OnDesign@5007(Data@1001 : Text); BEGIN ReportForNavClient.Data := Data; WHILE ReportForNavClient.DesignReport DO BEGIN ReportForNav.HandleRequest(ReportForNavClient.GetRequest()); SLEEP(100); END; END; EVENT ReportForNav@5000::OnView@5008(ClientFileName@1000 : Text;Parameters@1001 : Text;ServerFileName@1002 : Text); VAR ServerFile@1003 : File; ServerInStream@1004 : InStream; BEGIN ServerFile.OPEN(ServerFileName); ServerFile.CREATEINSTREAM(ServerInStream); DOWNLOADFROMSTREAM(ServerInStream,'','','',ClientFileName); END; EVENT ReportForNav@5000::OnMessage@5009(Operation@1000 : Text;Parameter@1001 : Text;ParameterNo@1002 : Integer); BEGIN CASE Operation OF 'Open' : ReportForNavDialog.OPEN(Parameter); 'Update' : ReportForNavDialog.UPDATE(ParameterNo,Parameter); 'Close' : ReportForNavDialog.CLOSE(); 'Message' : MESSAGE(Parameter); 'Error' : ERROR(Parameter); END; END; EVENT ReportForNav@5000::OnPrintPreview@5011(InStream@1000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.IO.Stream";Preview@1001 : Boolean); VAR ClientFileName@1002 : Text[255]; BEGIN DOWNLOADFROMSTREAM(InStream, '', '', '', ClientFileName); WHILE ReportForNavClient.PrintPreviewDialog(ClientFileName,ReportForNav.PrinterSettings.PrinterName,Preview) DO BEGIN ReportForNav.HandlePrintPreviewRequest(ReportForNavClient.GetPrintPreviewRequest()); SLEEP(100); END; END; BEGIN END. } RDLDATA { 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 0 SQL None aedea00f-f9cc-4dd5-a40e-12dc6b46ff6b 2in